//
// Created by 麻再挺 on 2021/12/13.
//

#ifndef DATA_STRUCTURE_C_BI_TREE_H
#define DATA_STRUCTURE_C_BI_TREE_H

#include <stdio.h>
#include <stdlib.h>
#include "./../constant.h"

// 二叉树的最大结点数
#define MAX_BI_TREE_SIZE 100

// 类型
typedef char TElemType;

/**
 * 定义二叉树
 */
typedef struct BiTNode {
    // 数据
    TElemType data;
    // 左右孩子指针
    struct BiTNode *lChild, *rChild;
} BiTNode, BiTree, *BstTree;

/**
 * 按先序次序输入二叉树中结点的值, 空格字符表示空树
 * @param t 二叉树
 * @param s 字符串
 * @param length 字符串长度
 * @return
 */
Status CreateBiTree(BiTree *t);

/**
 * 先序遍历
 */
Status PreOrderTraverse(BiTree *t);

/**
 * 中序遍历
 */
Status InOrderTraverse(BiTree *t);

/**
 * 后序遍历
 */
Status PostOrderTraverse(BiTree *t);

/**
 * 层序遍历
 */
Status LevelOrderTraverse(BiTree *t);

#endif //DATA_STRUCTURE_C_BI_TREE_H
















